package com.ruoyi.ctcx.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.ctcx.domain.TbInsuranceMain;
import com.ruoyi.ctcx.domain.ro.InsuranceParam;
import com.ruoyi.ctcx.domain.vo.*;

/**
 * 保险主Mapper接口
 * 
 * @author ruoyi
 * @date 2024-11-19
 */
public interface TbInsuranceMainMapper 
{
    /**
     * 查询保险主
     * 
     * @param id 保险主主键
     * @return 保险主
     */
    public TbInsuranceMainVo selectTbInsuranceMainById(Long id);

    /**
     * 查询保险主列表
     * 
     * @param insuranceParam 保险主
     * @return 保险主集合
     */
    public List<TbInsuranceMainVo> selectTbInsuranceMainList(InsuranceParam insuranceParam);

    /**
     * 新增保险主
     * 
     * @param tbInsuranceMain 保险主
     * @return 结果
     */
    public int insertTbInsuranceMain(TbInsuranceMain tbInsuranceMain);

    /**
     * 修改保险主
     * 
     * @param tbInsuranceMain 保险主
     * @return 结果
     */
    public int updateTbInsuranceMain(TbInsuranceMain tbInsuranceMain);

    /**
     * 删除保险主
     * 
     * @param id 保险主主键
     * @return 结果
     */
    public int deleteTbInsuranceMainById(Long id);

    /**
     * 批量删除保险主
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbInsuranceMainByIds(Long[] ids);

    List<TbInsuranceAllVo> getMainList(InsuranceParam insuranceParam);

    List<TbInsuranceXlMainVo> getXlMainList(InsuranceParam insuranceParam);

    BigDecimal getTotalPremium(InsuranceParam insuranceParam);

    TbInsuranceTotalVo getTotalFee(InsuranceParam insuranceParam);

    List<TbInsurancePaimingVo> getPaimingList(InsuranceParam insuranceParam);
}
